
var categoriesarray = new Array();

//数据范围是从200-708，还是200到710，有待确定
//如果是前者只有255个数据，后者有256个数据，数据库中有256个数据
for(i=200;i<=710;i+=2){
	categoriesarray.push(i);
}

var win_hig = window.screen.height; 
var win_wid = window.screen.width;

/**这个宽度是指右上角趋势图的宽度*/
var small_hg_wid = win_wid*0.33;
/**这个宽度是*/
var big_hg_wid = win_wid*0.42;

$(document).ready(function(){

    //在左下角的大图中画昨天的数据图
    drawLastDayGraph();
    //初始化获取范围的相应函数，并重新绘图
    initDrawGraphBig();

    displayDate();
    setInterval(displayDate,1000);
    
    initCalender();

    //Today
    colorToday();
    
    initTendencyGraph();
    
    //设置跟设置wave有关的js
    initSetWave();
})


/**初始化跟draw大图相关的操作*/
function initDrawGraphBig(){
	$('#fromDateTime').datetimepicker({
	    showSecond: true,
	    timeFormat: 'hh:mm:ss'
    });
    
	$('#toDateTime').datetimepicker({
	    showSecond: true,
	    timeFormat: 'hh:mm:ss'
    });
	
	$('#submitDate').click(function(){
		var from = $("#fromDateTime").val();
		var to = $("#toDateTime").val();
		var interval = $("#interval").val();
		
		isaMode1DataArray = [];
		isaMode0DataArray = [];
		
		if(validateDate(from,to,interval)){
			$("#dateErrSpan").css("visibility","hidden");
			$.ajax({
		        type: "post",
		        url: $('#basePath').val()+"getAvgIsaData",
		        data: {
		        	"from":from,
		        	"to":to,
		        	"interval":interval
		        },
		        success:function(data,status) {
		        	
		        	if(data.isas=="nodata"){	//判断是否为空对象
		        		showErrMsg("dateErrSpan","没有此时间段的数据");
		        		return;
		        	}
		        	
		        	if(data.isas=="toomany"){
		        		showErrMsg("dateErrSpan","数据多于1000条，请缩小时间间隔");
		        		return;
		        	}
		        	
		        	isas = data.isas;	//取出isas数据
		        	alarmItems = data.alarm;
		        	console.log(JSON.stringify(alarmItems));
		        	
		        	//以最开始的日期初始化日历，若没有超过阈值的日期，以今天的日期画日历
		        	if(data.firstMonth!="none"){
		        		var date = new Date();
		        		var dateChip = data.firstMonth.split("-");
		        		date.setFullYear(parseInt(dateChip[0]),parseInt(dateChip[1])-1,parseInt(dateChip[2]));
		        		drawCal("cal",date,monthCount);
		        	}else{
		        		var date = new Date();
		        		drawCal("cal",date,monthCount);
		        	}
		        	
		        	
		        	for(i=0;i<isas.length;i++){
		        		var obj = new Object();
		        		obj.name = isas[i].startDateTime;
		        		obj.data = isas[i].avgDatas;
		        		
		        		if(isas[i].mode==1){
		        			//isaMode1DataArray.push(obj);
		        		}else{
		        			isaMode0DataArray.push(obj);
		        		}
		        	}
		        	drawIntervalIsaChart(isaMode0DataArray);
		        	//draw1Chart(isaMode1DataArray,categoriesarray,win_wid*0.75);
		        	colorSomeDay();//为超过阈值的波长设置报警色
		        },
		        error:function(data,status){
		        	alert("ajax error.");
		        }
		     });
		}
	});
}

/**判断一个对象是否为空
 * jQuery.isEmptyObject()
 * */
function isEmptyObj(obj){	
	for(o in obj){
		//或者 if(obj.hasOwnProperty(o))	?
		return false;
	}
	return true;
}

function initCalender(){
	
	//TODO 为日历设置固定时间，假设为2014-11-09
	/**setFullYear的使用方法
	 * year	必需。表示年份的四位整数。用本地时间表示。
	 * month	可选。表示月份的数值，介于 0 ~ 11 之间。用本地时间表示。
	 * day	可选。表示月中某一天的数值，介于 1 ~ 31 之间。用本地时间表示。
	 */
	var date = new Date();
	date.setFullYear(2014,10,9);
	
	drawCal("cal",date,2);
}

//验证开始或结束时间
function validateDate(from,to,interval){
	
	if(from=="" || to==""){
		showErrMsg("dateErrSpan","开始时间或结束时间不能为空");
		return false;
	}
	
	if(interval==""){
		showErrMsg("dateErrSpan","设置时间间隔");
		return false;
	}
	
	//日期正则表达式
	var re = /\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d/;
	
	if(!re.test(from) || !re.test(to)){
		showErrMsg("dateErrSpan","日期时间格式错误");
		return false;
	}
	
	var fromDate = (new Date(Date.parse(from.replace(/-/g,"/")))).getTime();
	var toDate = (new Date(Date.parse(to.replace(/-/g,"/")))).getTime();
	
	if(toDate <= fromDate){
		showErrMsg("dateErrSpan","开始时间不能早于或等于结束时间");
		return false;
	}
	
	return true;
}


//显示日期
function displayDate(){
	var date = new Date();
    var year=date.getFullYear();// 获取4位的年份  
    var day=date.getDate();  	//1-31
    var month=date.getMonth()+1; // 从0-11  
    var hours=date.getHours();  
    var minutes=date.getMinutes();
    	
    if(hours<10){
    	hours = "0"+hours;
    }
    if(minutes<10){
    	minutes = "0"+minutes;
    }
    var content = year+"-"+month+"-"+day+" &nbsp"+hours+":"+minutes;
    $("#dateSpan").html(content);
}
